package com.hao.cdk.common.web;

/**
 * @author: 许自豪
 * @date: 2025-01-17 15:52:59
 * @description: 业务状态码
 */
public enum ResponseCode {
    /**
     * 操作成功
     */
    OK("200"),
    /**
     * 错误：请求参数格式错误
     */
    ERROR_BAD_REQUEST("400"),
    /**
     * 错误：未认证
     */
    ERROR_UNAUTHORIZED("401"),
    /**
     * 错误：未认证，因为被禁用
     */
    ERROR_UNAUTHORIZED_DISABLED("402"),
    /**
     * 错误：禁止访问，用于无权限
     */
    ERROR_FORBIDDEN("403"),
    /**
     * 错误：数据不存在
     */
    ERROR_NOT_FOUND("404"),
    /**
     * 错误：数据冲突
     */
    ERROR_CONFLICT("409"),
    /**
     * 错误：JWT已过期
     */
    ERR_JWT_EXPIRED("410"),
    /**
     * 错误：JWT验证签名失败，可能使用了伪造的JWT
     */
    ERR_JWT_SIGNATURE("411"),
    /**
     * 错误：JWT格式错误
     */
    ERR_JWT_MALFORMED("412"),
    /**
     * 错误：上传的文件为空（没有选择有效的文件）
     */
    ERROR_UPLOAD_EMPTY("430"),
    /**
     * 错误：上传的文件类型有误
     */
    ERROR_UPLOAD_INVALID_TYPE("431"),
    /**
     * 错误：上传的文件超出限制
     */
    ERROR_UPLOAD_EXCEED_MAX_SIZE("432"),
    /**
     * 错误：未知的插入数据失败
     */
    ERROR_INSERT("500"),
    /**
     * 错误：未知的删除数据失败
     */
    ERROR_DELETE("501"),
    /**
     * 错误：未知的修改数据失败
     */
    ERROR_UPDATE("502"),
    /**
     * 错误：其它异常
     */
    ERROR_UNKNOWN("700");


    private String value;

    ResponseCode(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}
